Identifying script errors in an online retail platform and quantifying such errors

ABSTRACT

A system and method for quantifying impact of script error exceptions on performance of an online retail platform. A method includes selecting at least one performance metric for a webpage, wherein the selected performance metric has an impact due to at least one script error exception encountered on the webpage visited by a first user device; retrieving a normal value for each of the at least one selected performance metric for the webpage visited by a second user device; retrieving an abnormal value for each of the at least one selected performance metric for the webpage visited by the second user device; comparing the abnormal value to the normal value of a respective selected performance metric; and determining a performance impact score based on the comparison, wherein the performance impact score is indicative of a reduction in a performance metric of each of the least one selected performance metric.

CLAIM OF PRIORITY

This application is a continuation of U.S. application Ser. No.16/919,765, filed Jul. 2, 2020, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

The disclosure generally relates to monitoring browsing activity andparticularly to identifying script errors in an online retail platform.

BACKGROUND

The Internet is a collection of disparate computer systems which use acommon protocol to communicate with each other. A common use of theInternet is to access World Wide Web (web) pages. Web pages aretypically stored on a server and remotely accessed by a client over theInternet using a web browser.

A website is a collection of web pages. A website typically includes ahome page and a hierarchical order of follow-on web pages that areaccessible through the home page. The web pages are connected to eachother using hypertext links. The links allow a user to browse web pagesof a web site by selecting the links between the web pages. Distinctwebsites may be respectively identified by respective distinctlyassociated Internet domain names.

Scripts, such as JavaScript, are interpreted by a web browser when awebpage is loaded. A webpage may include a number of scripts. A scriptmay run with errors, thereby disabling some of the functionality of thewebpage. Such errors may be due to programming errors, unsupportedarchitectures, and the like. Script execution errors, also referred toas exceptions, may be displayed on the webpage as an error message, suchas “image cannot be loaded,” or as indications by the web browser.However, a user has little to do with such errors, as the user is notrequired to perform any action.

As such, the errors are not reported to the developers or owners of thewebsite in real-time. To encounter such errors, a developer may berequired to test and debug every script on each computing platform, suchas a browser type, a browser version, an operating system type, and thelike. This is a tedious task, and with the rapid changes in websites, itmay be an impractical task.

Furthermore, script errors may lead to loss of revenue, for example, inecommerce websites, increased frustration for users interacting with awebsite, or both. For example, when a script-executed function forplacing an item in a cart does not work, a conversion will not happenand the user will be frustrated.

It would therefore be advantageous to provide a solution that wouldovercome the deficiencies noted above.

SUMMARY

A summary of several example embodiments of the disclosure follows. Thissummary is provided for the convenience of the reader to provide a basicunderstanding of such embodiments and does not wholly define the breadthof the disclosure. This summary is not an extensive overview of allcontemplated embodiments, and is intended to neither identify key orcritical elements of all embodiments nor to delineate the scope of anyor all aspects. Its sole purpose is to present some concepts of one ormore embodiments in a simplified form as a prelude to the more detaileddescription that is presented later. For convenience, the term “certainembodiments” may be used herein to refer to a single embodiment ormultiple embodiments of the disclosure. Certain embodiments disclosedherein include a method for quantifying impact of script errorexceptions on performance of an online retail platform. The methodcomprises: selecting at least one performance metric for a webpage,wherein the selected performance metric has an impact due to at leastone script error exception encountered on the webpage visited by a firstuser device; retrieving a normal value for each of the at least oneselected performance metric for the webpage visited by a second userdevice; retrieving an abnormal value for each of the at least oneselected performance metric for the webpage visited by the second userdevice; comparing the abnormal value to the normal value of a respectiveselected performance metric; and determining a performance impact scorebased on the comparison, wherein the performance impact score isindicative of a reduction in a performance metric of each of the leastone selected performance metric.

Certain embodiments disclosed herein also include a non-transitorycomputer readable medium having stored thereon instructions for causinga processing circuitry to execute a process, the process comprising:selecting at least one performance metric for a webpage, wherein theselected performance metric has an impact due to at least one scripterror exception encountered on the webpage visited by a first userdevice; retrieving a normal value for each of the at least one selectedperformance metric for the webpage visited by a second user device;retrieving an abnormal value for each of the at least one selectedperformance metric for the webpage visited by the second user device;comparing the abnormal value to the normal value of a respectiveselected performance metric; and determining a performance impact scorebased on the comparison, wherein the performance impact score isindicative of a reduction in a performance metric of each of the leastone selected performance metric.

Certain embodiments disclosed herein also include a system forquantifying impact of script error exceptions on performance of anonline retail platform, comprising: a processing circuitry; and amemory, the memory containing instructions that, when executed by theprocessing circuitry, configure the system to: select at least oneperformance metric for a webpage, wherein the selected performancemetric has an impact due to at least one script error exceptionencountered on the webpage visited by a first user device; retrieve anormal value for each of the at least one selected performance metricfor the webpage visited by a second user device; retrieve an abnormalvalue for each of the at least one selected performance metric for thewebpage visited by the second user device; compare the abnormal value tothe normal value of a respective selected performance metric; anddetermine a performance impact score based on the comparison, whereinthe performance impact score is indicative of a reduction in aperformance metric of each of the least one selected performance metric.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter of the disclosure is particularly pointed out anddistinctly claimed in the claims at the conclusion of the specification.The foregoing and other objects, features, and advantages will becomeapparent and more readily appreciated from the following detaileddescription taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 shows a network diagram utilized to describe the variousembodiments of the invention.

FIG. 2 is a flowchart illustrating a method for collecting scriptexceptions by a tracking tag according to one embodiment

FIG. 3 is a flowchart illustrating a method for determining businessimpact of script errors according to one embodiment.

FIG. 4 is a flowchart illustrating a method for prioritizing scriptexceptions according to one embodiment.

FIG. 5 is an example screenshot showing the displayed processedinformation on a first dashboard.

FIG. 6 is an example screenshot showing the displayed processedinformation on a second dashboard.

FIG. 7 is a block diagram of a system utilized to process and analyzescript exceptions according to an embodiment.

DETAILED DESCRIPTION

It is important to note that the embodiments disclosed herein are onlyexamples of the many advantageous uses of the innovative teachingsherein. In general, statements made in the specification of the presentapplication do not necessarily limit any of the various claimedembodiments. Moreover, some statements may apply to some inventivefeatures but not to others. In general, unless otherwise indicated,singular elements may be in plural and vice versa with no loss ofgenerality. In the drawings, like numerals refer to like parts throughseveral views.

FIG. 1 shows an example diagram of a network system 100 utilized todescribe the various embodiments. The network system 100 includes one ormore user devices, 110-1 through 110-N (hereinafter referred to as “userdevice” 110 or “user devices” 110), at least one web server 120, and ananalytic system 130, all connected to a network 140. The analytic system130 may be adapted to process and analyze at least script activityinformation provided by the user devices 110. The analytic system 130 isfurther configured to gather, process, and analyze engagement datarelated to the engagement of users of user devices 110 interacting witha website hosted by the web server 120. In an example embodiment, such awebsite includes an e-commerce website, i.e., any website that offersgoods, services, or both.

The network 140 provides interconnectivity between the variouscomponents of the system. The network 140 may be, but is not limited to,a wireless, cellular or wired network, a local area network (LAN), awide area network (WAN), a metro area network (MAN), the Internet, theworldwide web (WWW), similar networks, and any combination thereof. Thenetwork 140 may be a full-physical network, including exclusively ofphysical hardware, a fully-virtual network, including only simulated orotherwise virtualized components, or a hybrid physical-virtual network,including both physical and virtualized components. Further, the network140 may be configured to encrypt data, both at rest and in motion, andto transmit encrypted, unencrypted, or partially-encrypted data. Thenetwork 140 may be configured to connect to the various components ofthe system 100 via wireless means such as, as examples and withoutlimitation, Bluetooth long-term evolution (LTE), Wi-Fi, other, like,wireless means, and any combination thereof, via wired means such as, asexamples and without limitation, ethernet, universal serial bus (USB),other, like, wired means, and any combination thereof. Further, thenetwork 140 may be configured to connect with the various components ofthe system 100 via any combination of wired and wireless means.

A user device 110 may be any computing device allowing a user to atleast download web-pages, display web-pages, and interact withweb-pages. A user device 110 may be, but is not limited to, a smartphone, a tablet computer, a personal computer, a laptop computer, anetbook computer, an electronic reader, and the like. A user device maybe installed with a web browser 112, such as Safari®, Firefox®, InternetExplorer®, Chrome®, and the like. The processor of the user device 110runs an operating system that may include, without limitation, iOS®,Android®, Unix®, Windows®, and the like. It should be noted that thebrowser 112 may include any mobile application executable over the userdevice 110 and/or an extension of the browser 112. Such an applicationis typically downloaded from a central repository (not shown) which maybe, for example and without limitation, AppStore® by Apple Computers®,Google® Play®, and the like.

The web server 120 can host a website accessed through a browser 112.The web server 120 may also execute an application that providesfunctionality and content to a mobile application executed over a userdevice 110. The teachings disclosed herein can be utilized to identifyscript errors, to quantify such errors, and to generate other analyticsdata that is based on scripts of either the web pages of a websitedisplayed over a browser 112 or the content displayed over a mobileapplication. Without limiting the scope of the disclosed embodiment andmerely for the sake of simplicity, the description hereinbelow will bemade with reference to the browser 112. It should be further noted thatthe disclosed teachings are not limited to scripts retrieved from oneserver. The browser 112 can render display content retrieved from aplurality of servers, web servers, application servers, or anycombination thereof.

Any webpage visited by a user device 110 and provided by the web server120 includes a tracking tag. The tracking tag, when interpreted by abrowser 112, executes a piece of code, such as a script, configured totrack an interaction of a user with the web page. This includes a URLvisited, any element in the page clicked on, or hovered over, by theuser, and the like. In an embodiment, the tracking tag may be configuredto capture, or otherwise intercept, script execution errors (hereinafterreferred to as “error exceptions”). Each error exception is reportedwith the URL, a page on which the URL was executed, a line error, and ascript name. As will be demonstrated below, a script can run withouterror on one browser, but may be run with errors on another browser.

The analytic system 130, depicted in detail with respect to FIG. 7,below, is a system configured to execute instructions, organizeinformation, and otherwise process data. The analytic system 130 may beconfigured to execute the methods described hereinbelow, other, like,methods, and any combination thereof. As described with respect to FIG.7, below, the analytic system 130 may include various processing,memory, networking, and other components allowing the analytic system130 to execute instructions and provide data processing. The analyticsystem 130 may be implemented as physical hardware, as softwarevirtualizing physical hardware, or as a combination of physical andvirtualized components.

According to the disclosed embodiment, the analytic system 130 isconfigured to receive browsing activity from any user device, such asthe user device 110, processing the tracking tag. In an embodiment, thebrowsing activity includes script exceptions, such as error exceptions,and interaction information of the user with any tracked webpage.

An error exception, such as an error message, may be, for example, anelectronic notification that is generated by, for example, JavaScript,when an error occurs in the script that runs a web page using a certainbrowser. For example, when an error occurs, JavaScript stops andgenerates an error message. The error exception is indicative of ascript error that is associated with at least one script of a firstwebsite. The first website may be, for example, a retail website, suchas a Nike® website, an Amazon® website, and the like. The errorexception may be received from at least one user device, such as thedevice 110-1, that browses through the first website. An error exceptionmay include the script name generated the error, the error code line,and the URL. For example, when JavaScript is interpreted by Chrome®, aspecific web browser, an error occurs. The error may indicate, forexample, the name of the script that throws the error, i.e., generatedthe error, is JavaScript, the code line indicating that an “add to cart”button is not working properly, and the URL indicating the specific webpage at which the error occurred. It should be noted that, uponidentification of an error, the script, such as JavaScript, may createan error object that includes a name and message.

The interaction information of the browsing activity may include mousemovements, scrolling of web page, resizing of browser window, clickevents, keyboard use with any element of a webpage, and the like, aswell as any combination thereof. The interaction information may furtherinclude, without limitation, information regarding page URL, referrer,load time, IP address, browser type, screen resolution, page views, andthe like.

The interaction information may be processed by the system 130 todetermine one or more performance metrics. Such metrics include, forexample, a number of clicks made during the user's visit in the webpage, a click rate, a conversion rate, and the like. The performancemetrics determined for each website, webpage, or both are tracked by theanalytic system 130 and may be saved in a database 150, connected to thenetwork 140. In some embodiments, browsing activity that includes errorexceptions is marked as abnormal performance metrics, while othermetrics are marked as normal.

In an embodiment, the analytic system 130 is configured to aggregateerror exceptions for each webpage, such as a URL, on a tracked website.The aggregation may be further based on, for example, a script name, abrowser type, functions (i.e., error type), and the like. It should benoted that error exceptions are related to the same website. That is,error exceptions that are associated with a first website are aggregatedseparately from error exceptions that are associated with a secondwebsite. For example, fifty (50) error exceptions are received andaggregated by the analytic system 130. According to the same example,fifteen error exceptions indicate that the script is a JavaScript thatruns on Safari® browser, that the error is that “BUY” button does notwork properly (i.e., error type), and that the error occurs in aTimberland® website at the “mens-boots” web page, providing, forexample, the specific URL indicating the specific web page at which theerror occurred. According to the same example, 45 error exceptionsindicate that the script is a JavaScript that runs on Chrome® browser,that the error is that the “add to cart” button does not work properly(i.e., error type), and that the error occurs in the Timberland® websiteat the “kids-sandals” web page, providing, for example, a specific URLindicating the specific web page at which the error occurred. Accordingto the same example, 25 error exceptions indicate that the script is aJavaScript that runs on Chrome® browser, that the error is that imagesare not displayed properly (i.e., error type), and that the error occursin a Timberland® website at the “womens-best-sellers” web page,providing, for example, a specific URL indicating the specific web pageat which the error occurred. According to the same example, all fiftyexceptions are aggregated based on their properties.

In an embodiment, the analytic system 130 is further configured toanalyze the aggregated error exceptions to determine a performanceimpact score. The performance impact score indicates an impact level ofaggregated error exceptions, for the same page, on at least oneperformance metric of the first website. As noted above, performancemetric may be, for example, a conversion rate, a click-through rate, anumber of pageviews, a cart abandonment rate, and the like.

In one embodiment, the analysis may include comparing at least oneperformance metric that is associated with at least one script, in whichthe at least one error exception was detected, to an identicalperformance metric of a plurality of scripts that do not demonstrateerror exceptions. The performance impact score may be an integer numberfrom “0” to “5”, where “0” is the lowest score indicating that the atleast one error exception, such as a script error, has no impact on oneor more of the performance metrics, and where a performance impact scoreof “five” indicates the highest performance impact, i.e., a negativeimpact. For example, two hundred error exceptions may indicate that an“add to cart” button is not working properly in a specific web page atAmazon® website and that the conversion rate, an example of aperformance metric that is associated with these two hundred visits is0%. According to the same example, the analytic system 130 compares the0% conversion rate, an example of a performance metric, that isassociated with the scripts in which error occurred to a conversionrate, or other, identical performance metric, that is associated withscripts that do not demonstrate error exceptions, such as script errors.According to the same example, the conversion rate of the properlyworking code, such as code wherein no error exception is identified, maybe 4.3% a four-and-a-half percent conversion rate, which may be which isa high conversion rate relative to comparable conversion rates, and,therefore, the performance impact score may be relatively high, such as5, indicating that the impact of the error exception is high.

In an embodiment, the analytic system 130 is configured to determine,based on the result of the analysis, the performance impact score thatis indicative of a level of impact of the at least one error exceptionon at least one performance metric of the first website.

In a further embodiment, the analytic system 130 is configured todetermine a business impact score, indicating a business impact level ofthe at least one error exception based on the determined performanceimpact score or scores. The business impact score may be a ranking from“A” to “C,” where “C” is the lowest score, indicating that a determinedperformance impact has no business impact, and where “A” indicates thehighest business impact, such as a negative impact. For example, when aperformance impact score of “5” has been determined with respect to1,000 error exceptions collected form the same website, the businessimpact score, or ranking, may be “A.” The determination of the businessimpact score may be achieved based on analysis of the determinedperformance impact score or scores.

In an embodiment, the analytic system 130 is configured to prioritizeeach of the at least one error exception based on the determinedbusiness impact score related thereto. That is, a first error exception,such as a script error exception indicating that a “buy” button is notworking properly, may have a greater negative business impact than asecond error exception, such as a script error exception indicating thatthe company's logo is not displayed properly. The process ofprioritizing the error exceptions is described in greater detail belowwith respect to FIG. 4.

FIG. 2 is an example flowchart 200 of a method for collecting scripterror exceptions (hereinafter referred to as “error exceptions”) and forsending the script error exceptions to a designated server, according toone embodiment.

At S210, a tracking tag, which may be implemented by or as a trackingscript or the like, is downloaded to a web page that was downloaded tothe browser that is utilized by the user device. The tracking tag may bepart of the web page content retrieved from the web server or may beembedded in a mobile application. The downloaded tracking tag is savedin a tangible memory of the user device and executed thereon. In oneembodiment, the tracking tag is realized as JavaScript. The tracking tagenables tracking and monitoring of script activity of one or more webpages of a website and, therefore, allows for determination of whetheran error exception has been detected.

At S220, a notification regarding at least one error exception, such asscript error exception, is captured by the tracking tag. Thenotification may be an electronic message the contains data, such asscript error exception data, regarding one or more script error thatoccurred.

At S230, script error exception data is extracted from the notification.The script error exception data may include, for example, a script name,an error type, a URL at which the error occurred, and the like.

At S240, the script error exception data is sent over a network, such asthe network 140, to a designated server, such as the analytic system130, for further usage.

FIG. 3 shows an example flowchart 300 illustrating a method foranalyzing aggregated script error exceptions (hereinafter referred to as“error exceptions”), and for determining one or more impacts of thescript error exceptions, according to one embodiment. In an embodimentthe method is performed by the analytic system 130.

At S310, at least one performance metric for a specific webpage isselected. The selected performance metric is to determine the impact ofthe error exception on this metric. For example, if the selected metricis a number of clicks on an “subscribe” element, the determination wouldbe how the error exceptions reduce the number of clicks. Other examplesfor performance metrics include, without limitation, a conversion rate,a click-through rate, a number of pageviews, a cart abandonment, and thelike.

At S320, the value for the selected performance metric for the webpageis retrieved from, for example, a database, such as the database 150shown in FIG. 1. The performance metric's value is logged for one ormore webpages where error exceptions have not occurred and one or morewebpages where error exceptions occurred. The former represents a normalmetric's value of a normal activity for the webpage, the website, orboth, and the latter represents abnormal activity. For example, thewebpage having a URL “myservices.com,” includes a “subscribe” button forwhich a call-for-action for is rendered by an execution of script. Thescript may run without errors on a Chrome® browser but with errors on anExplorer® browser. As such, normal performance metric values, such as anumber of clicks, will be logged for user access using the Chrome®browser, and abnormal performance metric values will be logged for useraccess using the Explorer® browser. The performance metrics' values areretrieved for each selected performance metric.

At S330, for each selected performance metric, the normal performancemetric's value is compared to the respective abnormal value.

At S340, a performance impact score of the at least one error exceptionis determined. The performance impact score indicates an impact level ofthe at least one error exception on at least one performance parameterof a first website. The performance impact score may be an integernumber from “0” to “5”, where “0” is the lowest score indicating thatthe at least one error exception (e.g., such as a script errorexception, has no impact on one or more of the performance metrics. Aperformance impact score of “5” indicates the highest performanceimpact, which may be, in an embodiment, usually a negative impact. Asanother example, the normal metric's value may be normalized to 100 andthe abnormal metric's value may be a percentage of that normalizedvalue. For example, if the number of clicks in a webpage that operateswithout errors is 1000 and the number of clicks on a page that operateswith script errors is 200, the impact score would be two percent, 2%(e.g, or a 98% performance reduction).

At S350, a business impact score of the at least one error exception isdetermined based on the determined performance impact score. Thebusiness impact score indicates a business impact level of the at leastone error exception based on the determined performance impact score orscores. As noted above, the business impact score may be a ranking from“A” to “C,” where “C” is the lowest score indicating that determinedperformance impact has no business impact, and where “A” indicates thehighest business impact, which may be, in some embodiments, usually anegative impact.

At S360, a monetary value is determined based on the business impactscore. The monetary value may include loss of revenue due to errorexceptions. For example, if the impact score is 2% reduction, a revenuereduction of 98% may also be demonstrated.

At S370, the errors, the business impact score, and the monetary valueare displayed. An example screenshot showing the displayed informationis shown in FIGS. 5 and 6.

FIG. 4 shows an example flowchart 400 illustrating a method forprioritizing script error exceptions (hereinafter referred to as “errorexceptions”), according to one embodiment. In an embodiment, the methodis performed by the analytic system 130.

At S410, a business impact score of each of the at least one scripterror exception is extracted from, for example, a database, such as thedatabase 150, shown in FIG. 1.

At S420, the business impact score of each of the at least one errorexception is analyzed. The analysis may include comparing all businessimpact scores to determine the priority.

At S430, each of the at least one error exception is prioritizedaccording to the business impact score related thereto. That is, a firsterror exception, such as a script error indicating that a “buy” buttonis not working properly, may have a greater negative business impactthan a second script error, such as a script error indicating that thecompany's logo is not displayed properly. For example, a first errorexception for which a relatively high business impact score wasdetermined may get a higher priority compared to a second errorexception for which a relatively low business impact score wasdetermined. It should be noted that it may be desirable to fix a firstscript error that causes damages to a website (i.e., from theperspective of a company that owns the website) before fixing a secondscript error that causes less damage than the first script error.Therefore, there is a need for prioritizing each of the at least oneerror exception according to its business impact score.

FIG. 5 is an example screenshot showing the displayed processedinformation on a first dashboard 500. The dashboard 500 summarizes theprocessed script error exceptions data. The dashboard includes a headerin which a number of visits (e.g., 746,250) that were impacted by anumber of script errors (e.g., 47) is indicated. The dashboard 500further indicates that, over the last 30 days the 47 script errorsoccurred, in 21 URL's, in 37 pages, in two browsers, in one operatingsystem (OS), in two type of devices, and in 87 countries. Below theheader, a first left column depicts the errors' type, the followingright column depicts the number of visits with errors, the nextfollowing right column depicts the number of lost conversions, the nextfollowing right column depicts the impact on a predetermined goal. Onecolumn before the last right column is a column that depicts a valuethat reflects the missed opportunity, such as how much money was lostdue to a specific script error.

FIG. 6 is another example screenshot showing the displayed processedinformation on a second dashboard 600. The dashboard 600 indicates thatover the last thirty days the total number of visits was 85,000, thatthe number of visits with errors was 31,000, that the number of lostconversions was 24,600, that the impact on the predetermined goal isfour percent, and that the amount that reflects the money that was lostdue to the script errors, such as missed opportunities, is USD $4,587.The dashboard 600 further indicates that, over the last thirty days,1,588 visits were impacted by eight script errors. The dashboard 600further includes that the columns that show detailed informationregarding each type of error, such as the error name, the number ofvisits with error, the number of lost conversions, the impact on apredetermined goal, and missed opportunities.

FIG. 7 is an example schematic diagram of an analytic system 130,according to an embodiment. The analytic system 130 includes aprocessing circuitry 710 coupled to a memory 720, a storage 730, and anetwork interface 740. In an embodiment, the components of the analyticsystem 130 may be communicatively connected via a bus 750.

The processing circuitry 710 may be realized as one or more hardwarelogic components and circuits. For example, and without limitation,illustrative types of hardware logic components that can be used includefield programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), Application-specific standard products (ASSPs),system-on-a-chip systems (SOCs), graphics processing units (GPUs),tensor processing units (TPUs), general-purpose microprocessors,microcontrollers, digital signal processors (DSPs), and the like, or anyother hardware logic components that can perform calculations or othermanipulations of information.

The memory 720 may be volatile, such as random access memory (RAM), andthe like, non-volatile, such as read only memory (ROM), flash memory,and the like, or a combination thereof.

In one configuration, software for implementing one or more embodimentsdisclosed herein may be stored in the storage 730. In anotherconfiguration, the memory 720 is configured to store such software.Software shall be construed broadly to mean any type of instructions,whether referred to as software, firmware, middleware, microcode,hardware description language, or otherwise. Instructions may includecode, such as in source code format, binary code format, executable codeformat, or any other suitable format of code. The instructions, whenexecuted by the processing circuitry 710, cause the processing circuitry710 to perform the various processes described herein.

The storage 730 may be magnetic storage, optical storage, and the like,and may be realized, for example, as flash memory or another memorytechnology, compact disk-read only memory (CD-ROM), Digital VersatileDisks (DVDs), or any other medium which can be used to store the desiredinformation.

The network interface 740 allows the analytic system 130 to communicatewith the various components, devices, and systems described herein forthe purpose of identifying and quantifying script errors, and for other,related, purposes.

It should be understood that the embodiments described herein are notlimited to the specific architecture illustrated in FIG. 7, and otherarchitectures may be equally used without departing from the scope ofthe disclosed embodiments.

The various embodiments disclosed herein can be implemented as hardware,firmware, software, or any combination thereof. Moreover, the softwareis preferably implemented as an application program tangibly embodied ona program storage unit or computer readable medium consisting of parts,or of certain devices and/or a combination of devices. The applicationprogram may be uploaded to, and executed by, a machine comprising anysuitable architecture. Preferably, the machine is implemented on acomputer platform having hardware such as one or more central processingunits (“CPUs”), a memory, and input/output interfaces. The computerplatform may also include an operating system and microinstruction code.The various processes and functions described herein may be either partof the microinstruction code or part of the application program, or anycombination thereof, which may be executed by a CPU, whether or not sucha computer or processor is explicitly shown. In addition, various otherperipheral units may be connected to the computer platform, such as anadditional data storage unit and a printing unit. Furthermore, anon-transitory computer readable medium is any computer readable mediumexcept for a transitory propagating signal.

A person skilled-in-the-art will readily note that other embodiments ofthe disclosure may be achieved without departing from the scope of thedisclosure. All such embodiments are included herein. The scope of thedisclosure should be limited solely by the claims thereto.

As used herein, the phrase “at least one of” followed by a listing ofitems means that any of the listed items can be utilized individually,or any combination of two or more of the listed items can be utilized.For example, if a system is described as including “at least one of A,B, and C,” the system can include A alone; B alone; C alone; A and B incombination; B and C in combination; A and C in combination; or A, B,and C in combination.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the principlesof the disclosed embodiments and the concepts contributed by theinventor to furthering the art, and are to be construed as being withoutlimitation to such specifically recited examples and conditions.Moreover, all statements herein reciting principles, aspects, andembodiments of the disclosed embodiments, as well as specific examplesthereof, are intended to encompass both structural and functionalequivalents thereof. Additionally, it is intended that such equivalentsinclude both currently known equivalents as well as equivalentsdeveloped in the future, i.e., any elements developed that perform thesame function, regardless of structure.

1. A method comprising: receiving from a first client device, webpagebrowsing activity associated with a webpage accessed by a user of thefirst client device, wherein the webpage browsing activity comprises aplurality of error exceptions and webpage interaction information;determining a plurality of performance metrics based on the webpageinteraction information; for each error exception of the plurality oferror exceptions, retrieving a first value for a selected performancemetric of the plurality of performance metrics, wherein the first valuerepresents a value for the selected performance metric during normalactivity of the webpage, retrieving a second value for the selectedperformance metric, wherein the second value represents a value for theselected performance metric during abnormal activity of the webpage, anddetermining a performance impact score based on the first value and thesecond value, wherein the performance impact score indicates an impactlevel of each error exception on the selected performance metric of thewebpage; and causing a user interface to be displayed on a second clientdevice, wherein the user interface comprises at least one of theplurality of error exceptions and data based on the performance impactscore.
 2. The method of claim 1, wherein each error exception of theplurality of error exceptions is generated based on a plurality oferrors that occurs in a computer script that runs on the webpage, andwherein the selected performance metric measures a performance impact ofeach error exception.
 3. The method of claim 1, further comprising: foreach error exception of the plurality of error exceptions, determining abusiness impact score for the selected performance metric based on theperformance impact score; and determining a monetary value based on thebusiness impact score for the selected performance metric, wherein thedata based on the performance impact score comprises the business impactscore or the impact score.
 4. The method of claim 3, further comprising:prioritizing each error exception of the plurality of error exceptionsbased on the business impact score.
 5. The method of claim 4, furthercomprising: generating a report, the report comprising, for each errorexception of the plurality of error exceptions, the business impactscore, the monetary impact, the error exception, or a combinationthereof.
 6. The method of claim 1, wherein the selected performancemetric comprises: a conversion rate, a click-through rate, a number ofpageviews, or a cart abandonment.
 7. The method of claim 1, furthercomprising: receiving webpage browsing activity from a third clientdevice.
 8. The method of claim 7, wherein the webpage browsing activityis independently captured on each of the first client device and thethird client device.
 9. The method of claim 7, wherein the third clientdevice did not encounter the plurality of error exceptions, and whereinthe first client device encounters the plurality of error exceptions.10. The method of claim 1, wherein determining the performance impactscore further comprises: determining a trend of the performance impactscore.
 11. A non-transitory computer readable medium having storedthereon instructions for causing a processing circuitry to performoperations comprising: receiving, from a first client device, webpagebrowsing activity associated with a webpage accessed by a user of thefirst client device, wherein the webpage browsing activity comprises aplurality of error exceptions and webpage interaction information;determining a plurality of performance metrics based on the webpageinteraction information; for each error exception of the plurality oferror exceptions, retrieving a first value for a selected performancemetric of the plurality of performance metrics, wherein the first valuerepresents a value for the selected performance metric during normalactivity of the webpage, retrieving a second value for the selectedperformance metric, wherein the second value represents a value for theselected performance metric during abnormal activity of the webpage, anddetermining a performance impact score based on the first value and thesecond value, wherein the performance impact score indicates an impactlevel of each error exception on the selected performance metric of thewebpage; and causing a user interface to be displayed on a second clientdevice, wherein the user interface comprises at least one of theplurality of error exceptions and data based on the performance impactscore.
 12. A system comprising: a processing circuitry; and a memory,the memory having instructions stored thereon that, when executed by theprocessing circuitry, cause the system to perform operations comprising:receiving from a first client device, webpage browsing activityassociated with a webpage accessed by a user of the first client device,wherein the webpage browsing activity comprises a plurality of errorexceptions webpage interaction information; determining a plurality ofperformance metrics based on the webpage interaction information; foreach error exception of the plurality of error exceptions, retrieving afirst value for a selected performance of the plurality of performancemetrics, wherein the first value represents a value for the selectedperformance metric during normal activity of the webpage, retrieving asecond value for the selected performance metric, wherein the secondvalue represents a value for the selected performance metric duringabnormal activity of the webpage; and determining a performance impactscore based on the first value and the second value, wherein theperformance impact score indicates an impact level of each errorexception on the selected performance metric of the webpage; and causinga user interface to be displayed on a second client device, wherein theuser interface comprises at least one of the plurality of errorexceptions and data based on the performance impact score.
 13. Thesystem of claim 12, wherein the operations further comprise: for eacherror exception of the plurality of error exceptions, determining abusiness impact score for the selected performance metric based on theperformance impact score; and determining a monetary value based on thebusiness impact score for the selected performance metric, wherein thedata based on the performance impact score comprises the business impactscore or the impact score.
 14. The system of claim 13, wherein theoperations further comprise: prioritizing each error exception of theplurality of error exceptions based on the business impact score. 15.The system of claim 14, wherein the operations further comprise:generating a report, the report comprising, for each error exception ofthe plurality of error exceptions, the business impact score, themonetary impact, the error exception, or any combination thereof. 16.The system of claim 12, wherein the selected performance metriccomprises: a conversion rate, a click-through rate, a number ofpageviews, or a cart abandonment.
 17. The system of claim 12, whereinthe operations further comprise: receiving webpage browsing activityfrom a third client device.
 18. The system of claim 17, wherein thewebpage browsing activity is independently captured on each of the firstclient device and the third client device.
 19. The system of claim 12,wherein each error exception of the plurality of error exceptions isgenerated based on a plurality of errors that occurs in a computerscript that runs on the webpage, and wherein the selected performancemetric measures a performance impact of each error exception.
 20. Thesystem of claim 12, wherein the operations further comprise: determine atrend of the performance impact score.